<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>
	Using PanasonicDriver
</title>

<link rel="stylesheet" href="_CodeDoc.css" />

<style type="text/css">
.Reference
{
	color: #003399;
}
</style>

</head>

<body id="DocBrowserTopic">

<div class="TopicHeader">
	<div class="Supertitle_">
		HomeUX Driver Collection
	</div>
	Using PanasonicDriver
</div>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="Summary">

<p>This page documents how to use <b>PanasonicDriver</b> (in PanasonicDriver.dll), the
HomeUX-compatible driver that accesses the telephone log of a Panasonic D816 Digital Super Hybrid
System telephone PBX connected via a serial port.  <b>PanasonicSimulator</b>
(in PanasonicSimulator.dll) is also documented here.</p>

<p>Page contents:</p>
<ul>
	<li><a href="#Overview">Hardware &amp; Driver Overview</a></li>
	<li><a href="#Config">Configuring PanasonicDriver</a></li>
	<li><a href="#Use">Using PanasonicDriver</a></li>
	<li><a href="#Sim">PanasonicSimulator</a></li>
</ul>

</div>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="SectionHeader">
	Hardware &amp; Driver Overview<a name="Overview"></a>
</div>
<div id="DocTopic">
<div class="Section">

	<p>A <a href="http://www.panasonic.com/">Panasonic</a> D816 Digital Super Hybrid
	System&mdash;abbreviated "Panasonic" in this documentation&mdash;is telephone PBX which can
	output a log of incoming and outgoing phone calls to a serial port.</p>

	<p>PanasonicDriver allows a HomeUX installation to display incoming calls as alerts.  The
	PBX cannot be controlled using its serial port&mdash;for example, you cannot place a call.
	Also, note that an incoming call is only logged to the serial port after the call completes, so
	this functionality does not provide "caller ID" as the phone rings.</p>

	<p>PanasonicDriver lets you assign names to extensions, so a friendly name can be displayed in
	addition to an extension number in alerts regarding incoming and outgoing calls.</p>

</div>
</div>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="SectionHeader">
	Configuring PanasonicDriver<a name="Config"></a>
</div>
<div id="DocTopic">
<div class="Section">

	<p>PanasonicDriver is configured in the HomeUX configuration file.  Here's the general
	structure (simplified):</p>

	<table class="Grid Code">
		<col class="Column1_" />
		<tr class="Header_">
			<td class="Header1_">XML</td>
		</tr>
		<tr>
			<td class="Content_ Indent_">
				&lt;configuration&gt;
					<div>&lt;HomeUXSettings&gt;
						<div><a href="#Device">&lt;Device Driver="PanasonicDriver.dll"&gt;</a>
							<div><a href="#Extension">&lt;Extension/&gt;</a>*</div>
						</div>
						<div>&lt;/Device&gt;</div>
					</div>
					<div>&lt;/HomeUXSettings&gt;</div>
				&lt;/configuration&gt;
			</td>
		</tr>
	</table>

	<p>"<tt>*</tt>" means "zero or more allowed".  Children of <tt>&lt;Device
	Driver="PanasonicDriver.dll"&gt;</tt> can appear in any order.</p>

	<p>Example:</p>

	<table class="Grid Code">
		<col class="Column1_" />
		<tr class="Header_">
			<td class="Header1_">XML</td>
		</tr>
		<tr>
			<td class="Content_">
	<pre>
&lt;configuration&gt;
  ...
  &lt;HomeUXSettings&gt;
    ...
    &lt;Device Name="Panasonic" Driver="PanasonicDriver.dll"
          sim:SerialPort="PanasonicSimulator.dll;;Test=0"
          real:SerialPort="COM17,9600,8,n,1,RtsEnable,DtrEnable"&gt;

      &lt;Extension Id="101" Name="Kitchen" /&gt;
      &lt;Extension Id="102" Name="Living Room" /&gt;
      &lt;Extension Id="103" Name="Rick's Office" /&gt;
      &lt;Extension Id="204" Name="Fax" /&gt;
      &lt;Extension Id="105" Name="Master Bedroom" /&gt;
      &lt;Extension Id="207" Name="Master Bath" /&gt;
      &lt;Extension Id="109" Name="Gary's Office" /&gt;
      &lt;Extension Id="210" Name="Laundry Room" /&gt;
      &lt;Extension Id="112" Name="Game Room" /&gt;
      &lt;Extension Id="113" Name="Guest Room" /&gt;
      &lt;Extension Id="116" Name="Void Mail" /&gt;
    &lt;/Device&gt;
  ...
  &lt;/HomeUXSettings&gt;
&lt;/configuration&gt;
	</pre>
			</td>
		</tr>
	</table>

	<p>The following subsections describe the PanasonicDriver configuration file XML elements.</p>

	<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
	<div class="SubsectionHeader Reference">
		&lt;Device Driver="PanasonicDriver.dll"&gt;<a name="Device"></a>
	</div>
	<div class="Section">

		<p>(Required, used within <tt>&lt;HomeUXSettings&gt;</tt>.) Specifies an instance of
		PanasonicDriver, which is used to control one Panasonic PBX unit.</p>

		<div class="SubsectionHeader">Syntax</div>
		<table class="Grid Code">
			<col class="Column1_" />
			<tr class="Header_">
				<td class="Header1_">XML</td>
			</tr>
			<tr>
				<td class="Content_ Indent_">
					&lt;Device
						<div>Name="..."</div>
						<div>Driver="PanasonicDriver.dll"</div>
						<div>SerialPort="..."&gt;</div>
						<div><a href="#Extension">&lt;Extension/&gt;</a>*</div>
					&lt;/Device&gt;
				</td>
			</tr>
		</table>

		<p>"<tt>*</tt>" means "zero or more allowed".</p>

		<div class="SubsectionHeader">Attributes</div>
		<div class="Subsection">

			<div class="Subsection">
			<p class="AttributeName">Name</p>
			<p class="AttributeDescription">(String, required.)
				The name you assign to the device.
			</p>
			</div>

			<div class="Subsection">
			<p class="AttributeName">Driver</p>
			<p class="AttributeDescription">(String, required.)
				Must be "<tt>PanasonicDriver.dll</tt>".
			</p>
			</div>

			<div class="Subsection">
			<p class="AttributeName">SerialPort</p>
			<p class="AttributeDescription">(String, required.)
				A standard HomeUX serial port specification.  Identifies the serial port (real or
				virtual) that the hardware is connected to.  When connected to a real serial port,
				the parameters should be "<i>port-name</i>,9600,8,n,1,RtsEnable,DtrEnable" in order
				to correctly operate a Panasonic unit.
			</p>
			</div>

		</div>

	</div>

	<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
	<div class="SubsectionHeader Reference">
		&lt;Extension&gt;<a name="Extension"></a>
	</div>
	<div class="Section">

		<p>(Zero or more, used within <a href="#Device">&lt;Device
			Driver="PanasonicDriver.dll"&gt;</a>.)
		Specifies one extension connected to the Panasonic PBX.</p>

		<div class="SubsectionHeader">Syntax</div>
		<table class="Grid Code">
			<col class="Column1_" />
			<tr class="Header_">
				<td class="Header1_">XML</td>
			</tr>
			<tr>
				<td class="Content_ Indent_">
					&lt;Extension
						<div>Id="..."</div>
						<div>Name="..."</div>
					/&gt;
				</td>
			</tr>
		</table>

		<div class="SubsectionHeader">Attributes</div>
		<div class="Subsection">

			<div class="Subsection">
			<p class="AttributeName">Id</p>
			<p class="AttributeDescription">(Integer, required.)
				The extension number (e.g. 101).
			</p>
			</div>

			<div class="Subsection">
			<p class="AttributeName">Name</p>
			<p class="AttributeDescription">(String, required.)
				The friendly name you assign to the extension.  This name appears in alerts
				regarding incoming and outgoing phone calls.
			</p>
			</div>

		</div>

	</div>

</div>
</div>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="SectionHeader">
	Using PanasonicDriver<a name="Use"></a>
</div>
<div id="DocTopic">
<div class="Section">

	<p>PanasonicDriver cannot be controlled using this driver, and so it implements no SyncPath
	schema.</p>

</div>
</div>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="SectionHeader">
	PanasonicSimulator<a name="Sim"></a>
</div>
<div id="DocTopic">
<div class="Section">

	<p><b>PanasonicSimulator</b> is a HomeUX-compatible virtual serial port implementation that
	simulates a subset of the serial communication behavior of Panasonic hardware.
	PanasonicSimulator performs no real-world actions&mdash;the simulation is purely for the
	purposes of testing a HomeUX installation without having to connect to real hardware.</p>

	<p>To use PanasonicSimulator in HomeUX, set the SerialPort attribute of the
	<a href="#Device">&lt;Device Driver="PanasonicDriver.dll"&gt;</a> configuration element to a
	string with the following format:</p>

	<code class="Indent">
          PanasonicSimulator.dll;;Test=<i>test-number</i>
	</code>

	<p>Parameters:</p>
	<ul>

		<li><p><i>test-number</i> specifies test behavior.  This is for development use only; use 0
			to specify normal behavior.  The default is 0.</p></li>

	</ul>

	<p>You can test PanasonicSimulator independently of HomeUX, using the VSerial console
	application:</p>

	<code class="Indent">
          VSerial.exe -crlf -dll PanasonicSimulator.dll;;Test=<i>test-number</i>
	</code>

	<p>PanasonicSimulator implements a limited simulation&mdash;all it does is send the
	initialization sequence.  Also, if you specify "Test=1" in the SerialPort attribute, a sample
	incoming telephone call will be sent 10 seconds after the device is enabled.</p>

</div>
</div>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="TopicFooter">
</div>

<div class="PageFooter">
<p>See <a href="http://www.HomeUX.org">http://www.HomeUX.org</a> for more information about HomeUX.</p>
</div>

</body>

</html>

